
// 异步函数：自动隐式转化=》返回Promise
/**
 * 
 * @param {*} param 对象Object{url, method,data,header}
 */
// 请求的基础地址
const BASE_URL = 'https://api-ugo-dev.itheima.net/api/public/v1'
export default async function myRequest ({ url, method, data, header }) {
  // console.log(url, method, data, header)
  // 1. 请求之前显示loading
  uni.showLoading({
    title: '请求中...',
    mask: true
  })
  // debugger
  // 2. 开始请求
  const [err, res] = await uni.request({
    url: BASE_URL + url,
    data,
    method,
    header
  })
  // 3. 关闭loading
  uni.hideLoading()
  if (!err) {
    // 返回需要的数据
    const { data: { message, meta } } = res
    return {
      msg: meta,
      data: message
    }
  } else {
    return err
  }

}

// vue的插件
const MyPlug = {
  //  Vue参数
  install (Vue) {
    // 挂载到原型
    Vue.prototype.request = myRequest
  }
}

export { MyPlug }